草庐IT

iphone - 单例 managedObjectContext

全部标签

C++ 单例 — 不是完整的 C++ 11 标准

我正在努力用C++设计一个线程安全的单例实现,但它主要针对VisualStudio2012环境。我知道C++11标准保证了这一点Foo&Instance(){staticFooinstance;returninstance;}是线程安全的。但是VisualStudio2012中使用的编译器还没有完全符合C++11标准(至少在静态变量初始化的线程安全方面)。所以我想到了这个:#include#include#includeclassFoo{public:staticFoo&Instance();private:Foo(){init();}Foo(Fooconst&);voidoperat

c++ - 以下单例实现线程安全吗?

下面的单例实现线程安全吗?::Instance方法应该是正确的,Dispose是我自己创建的,所以要确保我没有遗漏任何东西。std::atomicS::_instance;std::mutexS::_singleton_mutex;S&S::Instance(){usingnamespacestd;S*tmp=_instance.load(memory_order_relaxed);atomic_thread_fence(memory_order_acquire);if(tmp==nullptr){lock_guardl(_singleton_mutex);tmp=_instance.

c++ - 使用命名空间而不是单例

最近我在SO上发布了一个关于类的使用的问题,该类带有一些理想情况下应该具有的独立功能。我被推荐学习单例模式,这样只有一个类的实例被创建,并且它管理围绕它封装的数据的一组操作。您可以在此处查看问题-usingStaticContainerforbaseandderivedclasses.现在考虑这段代码-#include#include#includeclassA{std::stringid;public:A(std::string_i):id(_i){}virtualvoiddoSomething(){std::coutlist;}voidinit(){list.clear();}vo

c++ - 关于 "building a library"的初学者问题,特别是在 iPhone 上的 Xcode 中

我从来没有清楚地理解所有这些链接/构建/依赖业务。现在,我正在尝试将FreeType库(在C++中)构建到iPhone的*.a库文件中(因为我尝试使用的另一个库openFrameworks将依赖于FreeType)。我知道要用iPhone编译C++,我只需要将*.cpp重命名为*.mm。(我在main()中尝试了一些简单的程序并且它有效)但是我怎样才能在Xcode中构建库?(我想没有main())另一方面,如果你们能推荐一些关于此类链接/构建主题的书籍或文档,那就太好了,我发现自己最困惑。附言。我已经获得了Xcode的付费版本和一些编译到iPhone上的示例应用程序。

c++ - 在 iPhone 上浏览源代码

我是那种业余时间喜欢阅读源代码的笨蛋。我也是那种拥有iPhone的笨蛋。在此类设备上阅读和浏览代码的最佳方式是什么?我最初的想法是使用类似LXR的东西生成超链接页面,并将它们上传到我的个人服务器,但我对更好/更简单的方法感兴趣。我主要阅读C和C++代码,但对其他语言的支持会很棒。我不想越狱我的iPhone。 最佳答案 AirSharing允许您通过WebDav复制文件以便在手机上查看。它甚至语法颜色源代码。根据该网站,支持的语言是“C/C++、ObjectiveC/C++、C#、Java、Javascript、XML、shell脚本

c++ - iPhone OpenGL ES 不正确的 alpha 混合

我在iPhone上使用openGLES时遇到错误的alpha混合结果问题。这是我创建纹理对象的代码:glGenTextures(1,&tex_name);glBindTexture(GL_TEXTURE_2D,tex_name);glTextImage2D(GL_TEXTURE_2D,0,GL_RGBA,tex_width,tex_height,GL_RGBA,GL_UNSIGNED_BYTE,tex_data);'tex_data'是从用zlib打包的原始RGBA8888数据加载的。它按应有的方式加载,我已经用调试器检查过了。这是我在渲染前设置纹理的代码:glEnable(GL_BL

iphone - (iphone) 可以为 C++ 类/结构定义 @property 吗?

我正在混合使用c++和objectc。特别是,我在object-cheader中添加了一个c++类/结构变量,这是否合法?例如,@interfaceMyView:UIView{MyCppClasscppVariable;}@property(nonatomic,assign)MyCppClasscppVariable;@end在实现文件中,@synthesizecppVariable; 最佳答案 如thisofficialdocumentonObjective-C++中所述,您可以在Objective-C类中包含非指针C++对象。如

iphone - 我如何在 Xcode 4.2 上为 IOS 5 创建一个 UITableView?

上周我下载了Xcode4.2,所以当我开始构建应用程序时,我尝试将UITableView添加到我的一个项目中(就像我开始开发以来所做的一样)但是UITableView不工作。我一直在寻找教程,但没有找到:我如何在Xcode4.2上为IOS5创建一个UITableView?obs:我没有使用Storyboard,只是XIB的! 最佳答案 在您的.h文件中,添加以下内容:@interfaceYourClass:UIViewController右键单击(或按住ctrl键单击)并从您的tableView拖动到File'sOwner两次。一次

c++ - 重构单例/全局以使用依赖注入(inject)进行单元测试

我正在开发一个大型代码库,该代码库广泛使用了单例模式以及一些全局模式。我刚刚开始尝试编写一些单元测试,但是单例和全局给我带来了很多问题,在阅读之后,依赖注入(inject)似乎是可行的方法。进行此更改的重构任务非常艰巨,我正在努力找出最佳方法。据我所知,基本的想法是采取这样的事情:foo(){GraphicsCache::Instance()->GetMyImage();//dostuff}然后把它变成这样:foo(GraphicsCache*Cache){Cache->GetMyImage();//dostuff}这样我就可以模拟这些对象并在我的测试中使用这些模拟。但是有很多这些类型

c++ - 引用单例是在栈上还是在堆上?

我在这里阅读了很多关于单例的文章,但没有一篇真正触及我的问题。我知道单例只应在需要时使用,并且在我的游戏中,我将它们用于引擎的特定部分。也就是说,我最初将我的单例作为这样的指针:staticMapReader*Instance(){if(instance==0){instance=newMapReader();returninstance;}returninstance;}但是我总是觉得使用太多指针对泄漏不利,如果可以的话我宁愿不使用它们(如果必须的话,我宁愿不使用它们(或智能指针)。所以我将我所有的单例更改为这样的引用:staticMapReader&Instance(){stati